package ControlLayer;

import java.util.ArrayList;

import ModelLayer.LeaseItem;
import ModelLayer.LeaseItemRecords;
import ModelLayer.LeaseItemUnit;
import ModelLayer.RealException;

public class LeaseItemCtr {

	private LeaseItemRecords leaseItemRecords;
	
	public LeaseItemCtr() {
		leaseItemRecords = LeaseItemRecords.getInstance();
	}
	
	public void createLeaseItem(String name, int location, double price) throws RealException {
		leaseItemRecords.createLeaseItem(name, location, price);
	}
	
	public LeaseItem getLeaseItem(int id) throws RealException {
		return leaseItemRecords.getLeaseItem(id);
	}
	
	public void checkLeaseItem(int id) throws RealException {
		leaseItemRecords.checkLeaseItem(id);
	}

	public void updateLeaseItem(int id, int fieldID, String value) throws RealException {
		leaseItemRecords.updateLeaseItem(id, fieldID, value);
	}
	
	public void deleteLeaseItem(int id) throws RealException {
		leaseItemRecords.deleteLeaseItem(id);
	}
	
	public ArrayList<String> getLeaseItemInfo(int id) throws RealException {
		return leaseItemRecords.getLeaseItemInfo(id);
	}
	
	public ArrayList<String> getAllLeaseItemInfo() throws RealException {
		return leaseItemRecords.getAllLeaseItemInfo();
	}
	
	public void createLeaseItemUnit(int itemID) throws RealException {
		leaseItemRecords.createLeaseItemUnit(itemID);
	}
	
	public LeaseItemUnit getLeaseItemUnit(int itemID, int unitSerialNO) throws RealException {
		return leaseItemRecords.getLeaseItemUnit(itemID, unitSerialNO);
	}
	
	public void deleteLeaseUnit(int itemID, int unitSerialNo) throws RealException {
		leaseItemRecords.deleteLeaseUnit(itemID, unitSerialNo);
	}
	
	public ArrayList<String> findLeaseItem(String searchPattern) throws RealException {
		return leaseItemRecords.findLeaseItem(searchPattern);
	}
	
	public int getFreeIUnits(int id)
	{
		return leaseItemRecords.getFreeUnits(id);
	}
}
